<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>单元测试</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="">
  </head>
  <body>
    <script>
      const add = (a, b) => a + b; // 加号改成乘号或其他来测试正确性
       // 简单的测试代码
      // const result = add(1, 2);
      // const expect = 3
      // if (result !== expect) {
      //   throw new Error(`1+2应该等于${expect},但结果却是${result}`);
      // } else {
      //   console.log('-----------------成功返回');
      // }
      // 单元测试代码, 接受一个方法
      let expect = (res) => {
        return {
		      toBe:(actual)=>{
       			if(res !== actual){
              throw new Error('期望值与预期值不符')
            } else {
              console.log('-----------------成功返回');
            }
          }
        }
      }
      // 运行
      expect(add(1, 2)).toBe(3);
      // 上述方法更详细写法
      let test = (desc, fn) => {
        try {
          fn();
        } catch(e) {
          console.log(`${desc}没有通过`)
        }
      }
      test('加法测试', expect(add(1, 2)).toBe(3));
    </script>
  </body>
</html>